define([ 'config', 'text!app/module/system/applyOperateHistory.html',
		'mydialog', 'laypage', 'autocomplete', 'jqGrid', 'common', 'laydate' ],
		function(config, viewHTML, mydialog, laypage, autocomplete, jqGrid,
				common, laydate) {

			var token = (cache.go("token") === 'undefined') ? 'none' : cache.go("token");

			var grid_url = "/api/applyOperateList";

			var model = avalon.define({
				$id : "applyOperateHistory",
				query : {
					keyword : "0",
					start_date : "",
					end_date : "",
				},
				operateInfo : {},
				ars : [ {
					key : "请选择",
					val : "0"
				}, {
					key : "GoodsPn",
					val : "GoodsPn"
				} ],

				init : function() {
					model.loadGrid();
					model.addEvent();

				},

				loadGrid : function() {

					var i = Public.setGrid();

					$("#grid").jqGrid({
						// token验证
						loadBeforeSend : function(jqXHR) {
							jqXHR.setRequestHeader("X-AuthToken", token);
						},

						datatype : "JSON",
						mtype : "POST",
						url : grid_url,
						postData : model.query.$model,
						height : i.h,
						altRows : true,
						rownumbers : true,
						multiselect : true,
						multiboxonly : true,
						page : 1,
						sortname : "id",
						sortorder : "desc",
						pager : "#page",
						rowNum : 10,
						rowList : [ 10, 30, 50 ],
						viewrecords : true,
						shrinkToFit : false,
						forceFit : false,
						jsonReader : {
							root : "data.list",
							records : "data.totalRow",
							total : "data.totalPage",
							repeatitems : false,
							id : "id"
						},

						colModel : [
						// {name:"id",label:"ID",align : "center",width :
						// '220%',title : false},
						{
							name : "content",
							label : "日志内容",
							align : "center",
							width : '220%',
							title : false
						}, {
							name : "logTime",
							label : "日志时间",
							align : "center",
							width : '220%',
							title : false,
							formatter : Public.custDatefmter

						}, {
							name : "sourceId",
							label : "模块",
							align : "center",
							width : '220%',
							title : false
						}, {
							name : "user",
							label : "操作人",
							align : "center",
							width : '220%',
							title : false
						} ],

						cmTemplate : {
							sortable : false,
							title : false
						},
						loadError : function() {
							Public.tips({
								type : 2,
								content : "加载数据出现异常！"
							})
						},
						ndblClickRow : function(t) {
							model.view(t);
						},

					});

				},

				// 提交方法
				reloadData : function() {

					$("#grid").jqGrid("setGridParam", {
						url : grid_url,
						datatype : "JSON",
						mtype : 'POST',
						postData : model.query.$model
					}).trigger("reloadGrid");
				},
				// 重置方法
				reset : function() {
					model.query = {
						keyword : "0",
						start_date : "",
						end_date : "",
					};
					model.ars = [ {
						key : "请选择",
						val : "0"
					}, {
						key : "GoodsPn",
						val : "GoodsPn"
					} ];
					model.reloadData();
				},

				addEvent : function() {
					// 提交
					$("#search").click(function(e) {
						e.preventDefault();
						model.reloadData();
					});
					$("#resets").click(function(e) {
						e.preventDefault();
						model.reset();
						model.reloadData();
					});

				},
			});

			// 定义视图模块
			var viewmod = {
				viewtSrc : viewHTML,
				viewInit : function() {
					model.init();
				}, // 模块view加载完成后的回调方法，在刷新（F5）时可能调用两次
				viewDestroy : function() {
				} // 切换菜单时销毁原来的view
			};
			return viewmod;

		});